package com.open.capacity.salary.service;

import com.open.capacity.salary.entity.GzRecordTax;
import com.open.capacity.salary.entity.GzTax;

import com.open.capacity.commons.PageResult;

import java.math.BigDecimal;
import java.util.Map;
import java.util.List;

/**
 * 工资系统税率设置表
 *
 * @author
 * @email
 * @date 2021-08-02 14:26:51
 */
public interface GzTaxService {

    /**
     * 初始化
     *
     * @param companyId
     */
    int init(String companyId);

    /**
     * 添加
     *
     * @param gzTax
     */
    int save(GzTax gzTax);

    /**
     * 修改
     *
     * @param gzTax
     */
    int update(GzTax gzTax);

    /**
     * 删除
     *
     * @param id
     */
    int delete(String id);


    /**
     * 查询记录
     *
     * @param id
     * @return
     */
    GzTax findById(String id);

    /**
     * @param companyId
     * @param isIncludeTax 是否含税
     * @param income       收入合计
     * @return
     */
    GzRecordTax calcTax(String companyId, Integer isIncludeTax, BigDecimal income);

    /**
     * 分页
     *
     * @param params
     * @return
     */
    PageResult<GzTax> pageAll(Map<String, Object> params);

    /**
     * 列表
     *
     * @param params
     * @return
     */
    List<GzTax> findAll(Map<String, Object> params);
}

